home *** CD-ROM | disk | FTP | other *** search
- property spriteNum, mydirect, newloc, myColor
-
- on new me, mySpriteNum
- me.spriteNum = mySpriteNum
- me.myColor = symbol(sprite(spriteNum).member.name)
- return me
- end
-
- on MoveThis me, direc
- mydirect = me.deterMine(direc)
- newloc = sprite(me.spriteNum).loc + point(sprite(me.spriteNum).width * mydirect[1], sprite(me.spriteNum).height * mydirect[2])
- (the actorList).add(me)
- end
-
- on deterMine me, SumNum
- if SumNum = #left then
- return [-1, 0]
- else
- if SumNum = #right then
- return [1, 0]
- else
- if SumNum = #up then
- return [0, -1]
- else
- if SumNum = #down then
- return [0, 1]
- end if
- end if
- end if
- end if
- end
-
- on getRid me
- s = the ticks + 5
- repeat while the ticks < s
- nothing()
- end repeat
- sprite(me.spriteNum).loc = point(-300, -300)
- end
-
- on stepFrame me
- if sprite(me.spriteNum).loc <> newloc then
- sprite(me.spriteNum).loc = sprite(me.spriteNum).loc + point(mydirect[1], mydirect[2])
- else
- if sprite(me.spriteNum).loc = newloc then
- me.cleanMe()
- end if
- end if
- end
-
- on cleanMe me
- (the actorList).deleteOne(me)
- end
-